import 'package:json_annotation/json_annotation.dart';

part 'hitokoto.g.dart';

///
/// 一言实体
///
/// @author zzzz1997
/// @created_time 20190905
///
@JsonSerializable()
class Hitokoto {
  // id
  int id;
  // 一言
  String hitokoto;
  // 类型
  String type;
  // 来源
  String from;
  // 发布者
  String creator;
  // 发布时间
  @JsonKey(name: 'created_at')
  String createdAt;

  Hitokoto(this.id, this.hitokoto, this.type, this.from, this.creator,
      this.createdAt);

  factory Hitokoto.fromJson(Map<String, dynamic> json) =>
      _$HitokotoFromJson(json);
  Map<String, dynamic> toJson() => _$HitokotoToJson(this);

  // 类型文本
  String get typeText {
    switch (type) {
      case 'a':
        return '动画';
      case 'b':
        return '漫画';
      case 'c':
        return '游戏';
      case 'd':
        return '小说';
      case 'e':
        return '原创';
      case 'f':
        return '来自网络';
      case 'g':
        return '其它';
      default:
        return '未知';
    }
  }
}
